/**
 * @projectDescription	apf-class
 * @author				Adam Fahy
 * @version				0.1
 * 
 */

/**
 * This is the constructor we use for class creation
 * 
 * @constructor
 * @classDescription 				Creates a new Class Object
 * @param {Object_Literal} params	container for class creation parameters; can be: init (constructor function), inherits (superclass), proto (instance methods and variables), static (static methods and variables)
 * @return {Class} 					Returns a class/constructor function
 * 
 */

Class = function(params) {
   var returnClass = {};
   
   $.each(params, function(i, n) {
      switch (i) {
         case "init" : 
            returnClass  = n;
         break;
            
         case "extends" : 
			returnClass.prototype._super = n;
            $.extend(returnClass, n);
            $.extend(returnClass.prototype, n.prototype);
         break;
            
         case "public" :
            $.extend(returnClass.prototype, n);
         break;
		 
		 case "private" :
		 	$.each(n, function(j, k){
				
				});
		 break;
         
         case "static" :
            $.extend(returnClass, n);
         break;
      }
   });
        
   return returnClass;
}
